1. Field of the Invention
Embodiments of the present invention generally relate to data storage systems, and more particularly, to balancing a load among a plurality of servers in a computer system.
2. Description of the Related Art
Modern computer networks generally comprise a plurality of user computers connected to one another and to a computer server via a communications network. To provide redundancy and high availability of information and applications that are executed upon a computer server, multiple computer servers may be arranged in a cluster, i.e., forming a server cluster. Such server clusters are available under the trademark VERITAS CLUSTER SERVER from Veritas Software Corporation of Mountain View, Calif. In such server clusters, a plurality of servers communicate with one another to facilitate failover redundancy such that when software or hardware (i.e., computer resources) become inoperative on one server, another server can quickly execute the same software that was running on the inoperative server substantially without interruption. As such, a user of server services that are supported on a server cluster would not be substantially impacted by the inoperative server or software.
The increasing need for high availability for applications and servers in today's data centers inevitably leads to an increased volume of network traffic, which in turn leads to growing performance demands on applications and servers. To address growing performance demands on applications and servers, system administrators currently use traffic management software to scale the number of servers able to process user requests and balance the network traffic between those servers. In this manner, administrators may ensure that system performance keeps up with performance demands from users. Current traffic management technology, however, balances the network traffic only after the load imposed by client requests has been born by the servers. In this manner, the load is balanced only after the actions associated with the load have been executed, which often results in delayed load balancing.
Accordingly, a need exists for a method and system for balancing the load among a group of servers in a more timely manner.